Autonomous Driving At Intersections Based On Perception Data

ABSTRACT

Systems, methods, and devices for predicting a driver&#39;s intention and future movements of a proximal vehicle, whether an automated vehicle or a human driven vehicle, are disclosed herein. A system for predicting future movements of a vehicle includes an intersection component, a camera system, a boundary component, and a prediction component. The intersection component is configured to determine that a parent vehicle is near an intersection. The camera system is configured to capture an image of the proximal vehicle. The boundary component is configured to identify a sub-portion of the image containing a turn signal indicator on the proximal vehicle. The prediction component is configured to predict future movement of the proximal vehicle through the intersection based on a state of the turn signal indicator.

CROSS REFERENCE TO RELATED PATENT APPLICATION

The present application is a continuation of U.S. patent applicationSer. No. 14/933,693, filed on Nov. 5, 2015, which is incorporated byreference in its entirety.

TECHNICAL FIELD

The disclosure relates generally to methods, systems, and apparatusesfor automated driving or for assisting a driver, and more particularlyrelates to methods, systems, and apparatuses for autonomous decisionmaking at intersections using predictive modeling of the behavior ofsurrounding vehicles enabled by the perception of vehicle motion, turnsignals, driver body language, and/or vehicle-to vehicle (V2V) orvehicle-to-infrastructure (V2X) information regarding past states of thevehicles.

BACKGROUND

Automobiles provide a significant portion of transportation forcommercial, government, and private entities. Autonomous vehicles anddriving assistance systems are currently being developed and deployed toprovide safety, reduce an amount of user input required, or eveneliminate user involvement entirely. For example, some drivingassistance systems, such as crash avoidance systems, may monitordriving, positions, and a velocity of the vehicle and other objectswhile a human is driving. When the system detects that a crash or impactis imminent the crash avoidance system may intervene and apply a brake,steer the vehicle, or perform other avoidance or safety maneuvers. Asanother example, autonomous vehicles may drive and navigate a vehiclewith little or no user input. However, due to the dangers involved indriving and the costs of vehicles, it is extremely important thatautonomous vehicles and driving assistance systems operate safely andare able to accurately navigate roads and avoid other vehicles even insituations where both autonomous vehicles and human-driven vehicles arepresent.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive implementations of the presentdisclosure are described with reference to the following figures,wherein like reference numerals refer to like parts throughout thevarious views unless otherwise specified. Advantages of the presentdisclosure will become better understood with regard to the followingdescription and accompanying drawings where:

FIG. 1 is a schematic block diagram illustrating an implementation of avehicle control system that includes an automated driving/assistancesystem;

FIG. 2 illustrates a perspective view of a vehicle;

FIG. 3 is a schematic diagram illustrating a top view of an example roadenvironment;

FIG. 4 is a schematic block diagram illustrating prediction of futurevehicle movements, according to one implementation;

FIG. 5 is a schematic block diagram illustrating example components of adriver intent component, according to one implementation;

FIG. 6 is a schematic block diagram illustrating a method for predictingvehicle movements, according to one implementation; and

FIG. 7 is a schematic block diagram illustrating another method forpredicting vehicle movements, according to one implementation.

DETAILED DESCRIPTION

Applicants have recognized that the first generations of autonomousvehicles must drive safely alongside human drivers. Specifically,intersections, including four-way stops, are one of the more challengingscenarios for an autonomous vehicle to handle because decisions aboutwhen to proceed into the intersection must be made on a case-by-casebasis in the presence of human driver's whose behavior is notstandardized.

Thus, it is desirable for these autonomous vehicles to be able topredict the motion of surrounding vehicles, even if they arehuman-driven. Applicants have recognized that autonomous vehicles canmore accurately predict what a human driver will do, or intends to do,based on the motion of other vehicles, the body language of the drivers,vehicle turn signals (or lack thereof), and wireless communications,such as vehicle-to vehicle (V2V) or vehicle-to-infrastructure (V2X). Forexample, an autonomous vehicle may interpret body language of a humandriver, or the other above information about a different vehicle thanthe autonomous vehicle. Thus, the autonomous vehicle does not depend onthe other vehicle, or a driver of the other vehicle, to provide specificinformation about what the human driver is intending to do. Furthermore,the autonomous vehicle may be able to accommodate actions by a humandriver that may be unpredictable compared to more standardized behaviorin an autonomous driving system.

This disclosure presents systems, methods, and apparatuses forautonomous driving systems or driving assistance systems to useinformation from V2V or V2X, including information on past states ofother vehicles not knowable via perception alone, with information fromperception systems about the body language of drivers in other vehicles,and the other vehicles' motion and turn signals. These various types ofinformation may be fused to form predictions about the motion of othervehicles at intersections. These predictions may then aid in the processof autonomously deciding whether to wait or to proceed into theintersection. In one embodiment, neural networks or other models may betrained to correlate the vehicles' past motion, driver body language,current vehicle motion, and/or turn signal information to one or moreexpected subsequent motions of these surrounding vehicles. Perceptionmay be done with cameras, light ranging and detection (LIDAR), radar,ultrasound, or other range sensors to help determine areas of interestwithin a given camera image.

In one embodiment, perception algorithms along with past vehicle statesvia V2V or V2X communication provide locations of other vehicles and usethat information to track the vehicles. In one embodiment, systems mayidentify regions of interest to extract information related to driverintent such as head orientation, gaze direction, turn signals, andvehicle motion. According to one embodiment, an autonomous vehicle maylocate vehicles within a current 360 degree frame of all data sensors.The autonomous vehicle may determine boundary boxes around areas of theimage where the drivers of those vehicles would be found and provide theimage data and range sensor data within the boundary boxes to algorithmsthat will estimate driver head orientation and gaze direction and alsorecognize driver gestures. This information may be interpreted todetermine a driver's intent in terms of predicted subsequent vehiclemotion of the other vehicles. These predictions may be taken intoaccount to decide when to enter the intersection.

In one embodiment, prediction algorithms for predicting what a humandriver will do based on body language or other information may behard-coded or may be learned and modified using artificial intelligence.For example, gestures or body language of a human driver may bemonitored or learned during a driving event and then the gestures orbody language may be associated with a resulting vehicle movement ortiming of vehicle movement.

In the following disclosure, reference is made to the accompanyingdrawings, which form a part hereof, and in which is shown by way ofillustration specific implementations in which the disclosure may bepracticed. It is understood that other implementations may be utilizedand structural changes may be made without departing from the scope ofthe present disclosure. References in the specification to “oneembodiment,” “an embodiment,” “an example embodiment,” etc., indicatethat the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

As used herein, “autonomous vehicle” may be a vehicle that acts oroperates completely independent of a human driver; or may be a vehiclethat acts or operates independent of a human driver in some instanceswhile in other instances a human driver may be able to operate thevehicle; or may be a vehicle that is predominantly operated by a humandriver, but with the assistance of an automated driving/assistancesystem.

Implementations of the systems, devices, and methods disclosed hereinmay comprise or utilize a special purpose or general-purpose computerincluding computer hardware, such as, for example, one or moreprocessors and system memory, as discussed in greater detail below.Implementations within the scope of the present disclosure may alsoinclude physical and other computer-readable media for carrying orstoring computer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

An implementation of the devices, systems, and methods disclosed hereinmay communicate over a computer network. A “network” is defined as oneor more data links that enable the transport of electronic data betweencomputer systems and/or modules and/or other electronic devices. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a transmission medium. Transmissions media can include anetwork and/or data links, which can be used to carry desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer. Combinations of the above should also be includedwithin the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, an in-dash computer, personalcomputers, desktop computers, laptop computers, message processors,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, mobile telephones, PDAs, tablets, pagers, routers, switches,various storage devices, and the like. The disclosure may also bepracticed in distributed system environments where local and remotecomputer systems, which are linked (either by hardwired data links,wireless data links, or by a combination of hardwired and wireless datalinks) through a network, both perform tasks. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) can be programmed to carry out one or moreof the systems and procedures described herein. Certain terms are usedthroughout the following description and claims to refer to particularsystem components. As one skilled in the art will appreciate, componentsmay be referred to by different names. This document does not intend todistinguish between components that differ in name, but not function.

Referring now to the figures, FIG. 1 illustrates a vehicle controlsystem 100 that includes an automated driving/assistance system 102. Theautomated driving/assistance system 102 may be used to automate orcontrol operation of a vehicle, such as a car, truck, van, bus, largetruck, emergency vehicles or any other automobile for transportingpeople or goods, or to provide assistance to a human driver. Forexample, the automated driving/assistance system 102 may control one ormore of braking, steering, acceleration, lights, alerts, drivernotifications, radio, or any other auxiliary systems of the vehicle. Inanother example, the automated driving/assistance system 102 may not beable to provide any control of the driving (e.g., steering,acceleration, or braking), but may provide notifications and alerts toassist a human driver in driving safely. The automateddriving/assistance system 102 includes a driver intent component 104,which may predict a future movement of a different vehicle based on oneor more of V2V or V2X communications, turn signal indicators, driverbody language, and vehicle movement. For example, the driver intentcomponent 104 may estimate an intention of the driver of a differentvehicle (e.g., a vehicle that does not include the vehicle controlsystem 100) based on a turn signal state, a driver gesture, a drivergaze direction, and/or a driver head orientation.

The vehicle control system 100 also includes one or more sensorsystems/devices for detecting a presence of nearby objects ordetermining a location of a parent vehicle (e.g., a vehicle thatincludes the vehicle control system 100) or nearby objects. For example,the vehicle control system 100 may include one or more radar systems106, one or more LIDAR systems 108, one or more camera systems 110, aglobal positioning system (GPS) 112, and/or one or more ultrasoundsystems 114. The vehicle control system 100 may include a data store 116for storing relevant or useful data for navigation and safety such asmap data, driving history or other data. The vehicle control system 100may also include a transceiver 118 for wireless communication with amobile or wireless network, other vehicles, infrastructure, or any othercommunication system. The vehicle control system 100 may include vehiclecontrol actuators 120 to control various aspects of the driving of thevehicle such as electric motors, switches or other actuators, to controlbraking, acceleration, steering or the like. The vehicle control system100 may also include one or more displays 122, speakers 124, or otherdevices so that notifications to a human driver or passenger may beprovided. The display 122 may include a heads-up display, a dashboarddisplay or indicator, a display screen, or any other visual indicator,which may be seen by a driver or passenger of a vehicle. The speakers124 may include one or more speakers of a sound system of a vehicle ormay include a speaker dedicated to driver notification.

It will be appreciated that the embodiment of FIG. 1 is given by way ofexample only. Other embodiments may include fewer or additionalcomponents without departing from the scope of the disclosure.Additionally, illustrated components may be combined or included withinother components without limitation. For example, the driver intentcomponent 104 may be separate from the automated driving/assistancesystem 102 and the data store 116 may be included as part of theautomated driving/assistance system 102 and/or part of the driver intentcomponent 104.

The radar system 106 may include any radar system known in the art. Ingeneral, a radar system 106 operates by transmitting radio signals anddetecting reflections off objects. In ground applications, the radar maybe used to detect physical objects, such as other vehicles, parkingbarriers or parking chocks, landscapes (such as trees, cliffs, rocks,hills, or the like), road edges, signs, buildings, or other objects. Theradar system 106 may use the reflected radio waves to determine a size,shape, distance, surface texture, or other information about a physicalobject or material. For example, the radar system 106 may sweep an areato obtain data about objects within a specific range and viewing angleof the radar system 106. In one embodiment, the radar system 106 isconfigured to generate perception information from a region near thevehicle, such as one or more regions nearby or surrounding the vehicle.For example, the radar system 106 may obtain data about regions of theground or vertical area immediately neighboring or near the vehicle. Theradar system 106 may include one of many widely available commerciallyavailable radar systems. In one embodiment, the radar system 106 mayprovide perception data including a two dimensional or three-dimensionalmap or model to the automated driving/assistance system 102 forreference or processing.

The LIDAR system 108 may include any LIDAR system in the art. Ingeneral, the LIDAR system 108 operates by emitting visible wavelength orinfrared wavelength lasers and detecting reflections of the laser lightoff objects. In ground applications, the lasers may be used to detectphysical objects, such as other vehicles, parking barriers or parkingchocks, landscapes (such as trees, cliffs, rocks, hills, or the like),road edges, signs, buildings, or other objects. The LIDAR system 108 mayuse the reflected laser light to determine a size, shape, distance,surface texture, or other information about a physical object ormaterial. For example, the LIDAR system 108 may sweep an area to obtaindata or objects within a specific range and viewing angle of the LIDARsystem 108. For example, the LIDAR system 108 may obtain data aboutregions of the ground or vertical area immediately neighboring or nearthe vehicle. The LIDAR system 108 may include one of many widelyavailable commercially available LIDAR systems. In one embodiment, theLIDAR system 108 may provide perception data including a two dimensionalor three-dimensional model or map of detected objects or surfaces.

The camera system 110 may include one or more cameras, such as visiblewavelength cameras or infrared cameras. The camera system 110 mayprovide a video feed or periodic images, which can be processed forobject detection, road identification and positioning, or otherdetection or positioning. In one embodiment, the camera system 110 mayinclude two or more cameras, which may be used to provide ranging (e.g.,detecting a distance) for objects within view. In one embodiment, imageprocessing may be used on captured camera images or video to detectvehicles, turn signals, drivers, gestures, and/or body language of adriver. In one embodiment, the camera system 110 may include camerasthat obtain images for two or more directions around the vehicle.

The GPS system 112 is one embodiment of a positioning system that mayprovide a geographical location of the vehicle based on satellite orradio tower signals. GPS systems 112 are well known and widely availablein the art. Although GPS systems 112 can provide very accuratepositioning information, GPS systems 112 generally provide little or noinformation about distances between the vehicle and other objects.Rather, they simply provide a location, which can then be compared withother data, such as maps, to determine distances to other objects,roads, or locations of interest.

The ultrasound system 114 may be used to detect objects or distancesbetween a vehicle and objects using ultrasonic waves. For example, theultrasound system 114 may emit ultrasonic waves from a location on ornear a bumper or side panel location of a vehicle. The ultrasonic waves,which can travel short distances through air, may reflect off otherobjects and be detected by the ultrasound system 114. Based on an amountof time between emission and reception of reflected ultrasonic waves,the ultrasound system 114 may be able to detect accurate distancesbetween a bumper or side panel and any other objects. Due to its shorterrange, ultrasound systems 114 may be more useful to detect objectsduring parking or to detect imminent collisions during driving.

In one embodiment, the radar system(s) 106, the LIDAR system(s) 108, thecamera system(s) 110, and the ultrasound system(s) 114 may detectenvironmental attributers or obstacles near a vehicle. For example, thesystems 106-110 and 114 may detect other vehicles, pedestrians, people,animals, a number of lanes, lane width, shoulder width, road surfacecurvature, road direction curvature, rumble strips, lane markings,presence of intersections, road signs, bridges, overpasses, barriers,medians, curbs, or any other details about a road. As a further example,the systems 106-110 and 114 may detect environmental attributes thatinclude information about structures, objects, or surfaces near theroad, such as the presence of drive ways, parking lots, parking lotexits/entrances, sidewalks, walkways, trees, fences, buildings, parkedvehicles (on or near the road), gates, signs, parking strips, or anyother structures or objects.

The data store 116 stores map data, driving history, and other data,which may include other navigational data, settings, or operatinginstructions for the automated driving/assistance system 102. The mapdata may include location data, such as GPS location data, for roads,parking lots, parking stalls, or other places where a vehicle may bedriven or parked. For example, the location data for roads may includelocation data for specific lanes, such as lane direction, merging lanes,highway or freeway lanes, exit lanes, or any other lane or division of aroad. The location data may also include locations for one or moreparking stall in a parking lot or for parking stalls along a road. Inone embodiment, the map data includes location data about one or morestructures or objects on or near the roads or parking locations. Forexample, the map data may include data regarding GPS sign location,bridge location, building or other structure location, or the like. Inone embodiment, the map data may include precise location data withaccuracy within a few meters or within sub meter accuracy. The map datamay also include location data for paths, dirt roads, or other roads orpaths, which may be driven by a land vehicle.

The driving history (or drive history) may include location data forpast trips or parking locations of the vehicle. For example, the drivinghistory may include GPS location data for the previous trips or pathstaken. As an example, the driving history may include distance orrelative location data with respect to lane lines, signs, road borderlines, or other objects or features on or near the roads. The distanceor relative location data may be determined based on GPS data, radardata, LIDAR data, camera data, or other sensor data gathered during theprevious or past trips taken by the vehicle. In one embodiment, theautomated driving/assistance system 102 is configured to log drivingdata to the data store 116 for and during any trips or drives taken bythe vehicle.

The transceiver 118 is configured to receive signals from one or moreother data or signal sources. The transceiver 118 may include one ormore radios configured to communicate according to a variety ofcommunication standards and/or using a variety of different frequencies.For example, the transceiver 118 may receive signals from othervehicles. Receiving signals from another vehicle is referenced herein asvehicle-to-vehicle (V2V) communication. In one embodiment, thetransceiver 118 may also be used to transmit information to othervehicles to potentially assist them in locating vehicles or objects.During V2V communication the transceiver 118 may receive informationfrom other vehicles about their locations, previous locations or states,other traffic, accidents, road conditions, the locations of parkingbarriers or parking chocks, or any other details that may assist thevehicle and/or automated driving/assistance system 102 in drivingaccurately or safely. For example, the transceiver 118 may receiveupdated models or algorithms for use by a driver intent component 104 indetecting vehicle movement, turn signals, or body language of a driverof another vehicle.

The transceiver 118 may receive signals from other signal sources thatare at fixed locations. Infrastructure transceivers may be located at aspecific geographic location and may transmit its specific geographiclocation with a time stamp. Thus, the automated driving/assistancesystem 102 may be able to determine a distance from the infrastructuretransceivers based on the time stamp and then determine its locationbased on the location of the infrastructure transceivers. In oneembodiment, receiving or sending location data from devices or towers atfixed locations is referenced herein as vehicle-to-infrastructure (V2X)communication. V2X communication may also be used to provide informationabout locations of other vehicles, their previous states, or the like.For example, V2X communications may include information about how long avehicle has been stopped or waiting at an intersection. In oneembodiment, the term V2X communication may also encompass V2Vcommunication.

In one embodiment, the transceiver 118 may send and receive locationdata via a mobile network or cell connection. For example, thetransceiver 118 may receive updated location data for a specific area asa vehicle travels along a roadway. Similarly, the transceiver 118 mayreceive historical driving data for a parent vehicle or other vehiclesthat have driven along a road or parked in a parking lot at thatlocation or at that stall. For example, the transceiver 118 may receivedata that indicates locations of signs, parking barriers or parkingchocks, or other objects, which may be detectable using a radar system106, LIDAR system 108, camera system 110, GPS system 112, or ultrasoundsystem 114. If the transceiver 118 is able to receive signals from threeor more infrastructure transceivers, the automated driving/assistancesystem 102 may be able to triangulate its geographic location.

In one embodiment, the transceiver 118 may send and receive dataregarding body language of drivers. For example, one or more gestures orgaze directions detected during an event, and a resulting action by adriver, may be uploaded to a server for processing as part of machinelearning for driver intent estimation.

In one embodiment, the automated driving/assistance system 102 isconfigured to control driving or navigation of a parent vehicle. Forexample, the automated driving/assistance system 102 may control thevehicle control actuators 120 to drive a path on a road, parking lot,through an intersection, driveway or other location. For example, theautomated driving/assistance system 102 may determine a path and speedto drive based on information or perception data provided by any of thecomponents 106-118. As another example, the automated driving/assistancesystem 102 may determine when to wait or proceed at an intersection,when to change lanes, when to leave space for another vehicle to changelanes, or the like.

In one embodiment, the driver intent component 104 is configured todetermine an intent of a driver of a nearby vehicle and/or predict afuture movement, and timing for the movement, of a vehicle under controlof a human driver.

FIG. 2 illustrates an image 200 captured by a camera or other sensor ofa vehicle or an autonomous vehicle. The image 200 includes a perspectiveview of a vehicle 202 with a human driver 204. For example, the view ofthe vehicle 202 may be captured by a camera at or near an intersection.The driver intent component 104 may identify the vehicle 202 as avehicle within the captured image 200. The driver intent component 104may determine a sub-region 206 of the image 200 that corresponds to alocation or likely location of a driver 204. For example, the driverintent component 104 may identify a portion of the vehicle 202 where adriver 204 would usually sit, such as where a driver's seat would belocated, etc.

In one embodiment, the driver intent component 104 may identify one ormore windows of the vehicle 202, such as a driver's side window 208and/or a windshield 210. In one embodiment, the driver intent component104 may define the sub-region 206 of the vehicle 202 based on thelocation of the likely location of a driver 204, one or more windows208, 210 of the vehicle 202, or by detecting a face of the driver 204. Asub-region 206 encompassing where the driver 204 may be located orreasonably expected to be located may be large enough to account formovements of the driver 204 (e.g., movements of the arms and/or head ofthe driver 204). By selecting or defining the sub-region 206, the driverintent component 104 may reduce computing power because a smaller areaor fewer pixels than the whole image 200 may be analyzed to detect thedriver 204, a gaze direction, a head orientation, and/or a gesture.

The driver intent component 104 may determine one or more sub-regions212 of the image 200 that corresponds to a location or likely locationof a turn signal indicator 214. The turn signal indicator 214 mayinclude a left or right blinker light or other indicator that indicatesa future turn, merge, or lane change. For example, a driver 204 may havecontrols to activate or deactivate one or more turn signals to indicatea direction the driver 204 intends to turn or drive the vehicle 202. Inone embodiment, the driver intent component 104 may determine the one ormore sub-regions 212 by identifying one or more of a headlight, taillight, bumper, or the like. For example, the driver intent component 104may identify a region of the vehicle 202 that may likely include a lightor turn signal indicator. As another example, the driver intentcomponent 104 may perform edge detection and/or another algorithm toidentify a blinker, headlight, tail light, or the like on the vehicle202. The driver intent component 104 may define a boundary surroundingthe turn signal indicator, which may be processed to detect a state ofthe turn signal indicator (e.g., whether the signal is blinking, turnedoff, or the like).

In one embodiment, the driver intent component 104 may determine onesub-region that includes a driver 204 and one or more turn signalindicators 214. For example, the driver intent component 104 maydetermine a single sub-region of the vehicle 202 that includes both thedriver 204 and the turn signal indicator 214. In one embodiment, thedriver intent component 104 may select a sub-region of the image 200that contains all or most of the vehicle 202. For example, thesub-region including the vehicle 202 may be processed to both detectbody language of the driver 204 and a state of the indicator 214.

FIG. 3 is a schematic top view of a road 300 with a vehicle 302traveling on the road. The vehicle 302 may include the system 100 ofFIG. 1. In one embodiment, one or more sensors, such as the camerasystem 110, may gather perception data of the road 300 and regionsaround the vehicle 302. A viewing area of the camera system 110, theLIDAR system 108, the radar system 106 or other system may extend in anydirection or all directions around the vehicle 302. The vehicle 302, ora driver intent component 104 of the vehicle 302, may receive perceptiondata from the sensors and detect the presence of other vehicles,objects, surfaces, or the like within a viewing range of the vehicle302. For example, the vehicle 302 may detect and identify vehicle 304 asa different vehicle.

In one embodiment, the vehicle 302 may identify a sub-portion ofperception data that corresponds to a location where a driver willlikely be located, such as a window of the vehicle or a region of thevehicle where a driver will likely be seated. The vehicle 302 mayanalyze the sub-portion of the perception data to infer an intent of thedriver. For example, the vehicle 302, or a driver intent component 104of the vehicle 302, may infer an intent of a driver to drive, stop,wait, or perform any other driving maneuver. In one embodiment, thevehicle 302 may identify a sub-portion of perception data thatcorresponds to a location where a turn signal is or is likely located,such as on or near a front or rear side of the vehicle 304, near abumper, near headlights or tail lights, or the like. The vehicle 302 mayanalyze the sub-portion of the perception data to determine a state ofthe turn signal indicator. For example, the vehicle 302, or a driverintent component 104 of the vehicle 302, may determine that a blinkerfor the vehicle 304 is off or on and may determine a direction (e.g.,left or right) that corresponds to the blinker. The vehicle 302 mayinfer an intention of the driver of the vehicle 304 based on the stateof the turn signal indicator. Based on the inferred intent, the vehicle302 may slow down speed up, and/or turn to avoid a potential collision.

In addition to perception data, the vehicle 302 may obtain informationfrom a stored map, stored driving history, or from wireless signals. Forexample, an infrastructure transmitter 306 is shown near the road 300,which may provide specific positioning, environmental attribute details,or other information to the vehicle 302. As further examples, thevehicle 302 may receive information from other vehicles, such as vehicle304, or from a wireless communication network, such as a mobilecommunication network. In one embodiment, the vehicle 302 may receiveinformation about past states or locations of the vehicle 304. Forexample, the vehicle 302 may receive an indication of a time length thatthe vehicle 304 has been waiting at the intersection from the vehicle304 or infrastructure transmitters 306.

FIG. 4 is a schematic block diagram illustrating a method 400 fordetermining a driver's intent in another vehicle. Perception data, suchas camera data, LIDAR data, radar data and ultrasound data, is obtainedat 402 and a driver intent component 104 identifies and localizes avehicle based on the perception data at 404. For example, the driverintent component 104 may identify a region of a viewing area or a regionof an image that corresponds to a vehicle. The driver intent component104 finds a region of interest at 406 that includes the driver of thevehicle. The region of interest may include a window, a region of thevehicle that corresponds to a driver's seat, or the like. The driverintent component 104 also finds a region of interest that includes aturn signal indicator, such as a region near a front or rear bumper, aheadlight, and/or a tail light at 408. The driver intent component 104estimates a head pose and a gaze direction at 410 and performs gesturerecognition at 412. The driver intent component 104 also determines aturn signal state at 414. For example, the driver intent component 104may determine whether a turn signal indicator is off or blinking at 414.

The driver intent component 104 detects one or more vehicle movements at416. For example, an acceleration event, a deceleration event, a stopevent, a turn event, or any other movement of the vehicle may bedetected at 416. The driver intent component 104 may also determine oneor more previous vehicle states for a detected vehicle at 418 based onV2V or V2X data at 420. For example, the previous vehicle states mayinclude a time length that the vehicle has been at a location, one ormore previous locations, accelerations, decelerations, or the like.Based on a head pose, a gaze direction, a detected gesture, a turnsignal state, a detected vehicle movement, and/or previous vehiclestates, the driver intent component 104 interprets 422 a driver's intentand/or predicts future motion of the driver's vehicle.

FIG. 5 is a schematic block diagram illustrating components of a driverintent component 104, according to one embodiment. The driver intentcomponent 104 includes a perception data component 502, a boundarycomponent 504, a body language component 506, a turn signal component508, a previous state component 510, a vehicle movement component 512,an intersection component 514, a prediction component 516, and a drivingmaneuver component 518. The components 502-518 are given by way ofillustration only and may not all be included in all embodiments. Infact, some embodiments may include only one or any combination of two ormore of the components 502-518. Some of the components 502-518 may belocated outside the driver intent component 104, such as within theautomated driving/assistance system 102 or elsewhere.

The perception data component 502 is configured to receive sensor datafrom one or more sensor systems of the vehicle. For example, theperception data component 502 may receive data from the radar system106, the LIDAR system 108, the camera system 110, the GPS 112, theultrasound system 114, or the like. In one embodiment, the perceptiondata may include perception data for one or more regions near thevehicle. For example, sensors of the vehicle may provide a 360 degreeview around the vehicle. In one embodiment, the camera system 110captures an image of a vehicle. For example, the vehicle may be proximalto a parent vehicle of the driver intent component 104. In oneembodiment, the camera system 110 captures an image of a proximalvehicle near an intersection.

The boundary component 504 is configured to identify a sub-region ofperception data that corresponds to a driver of a vehicle or a regionnear a driver of a vehicle. For example, the boundary component 504 mayidentify a sub-region of an image or other sensor data frame that willlikely contain a driver of the vehicle, if present. The sub-region maybe large enough to allow for movement of the driver, such as forgestures. In one embodiment, the sub-region may correspond to an areawhere body language algorithms may be applied without wasting processingpower to detect gestures or drivers in areas where they are likely notlocated.

In one embodiment, the boundary component 504 is configured to locateone or more vehicles within images or other perception data. Forexample, object recognition algorithms may be used to identify detectedobjects or obstacles as vehicles. In one embodiment, the boundarycomponent 504 may identify a boundary of the vehicle and identify pixelsor objects in that region as corresponding to the vehicle. Edge orboundary finding image processing algorithms may be used to find theedges of the vehicle.

In one embodiment, the boundary component 504 may identify or define asub-portion of the image or corresponding to an area where a driver of avehicle is located or is likely located. In one embodiment, the boundarycomponent 504 may look within a boundary of the vehicle to locate ordefine a boundary corresponding to a driver location. In one embodiment,the boundary component 504 is configured to identify the sub-portion ofthe image based on a location of one or more windows, a location of adriver's seat or steering wheel of a vehicle, and/or a location of adetected human in the vehicle. In one embodiment, the boundary component504 may identify a boundary of one or more windows or may estimate alocation of a driver's-side front seat of a vehicle. In one embodiment,the sub-region may correspond to or include the boundary of a window.For example, the sub-region may have a boundary following a boundary ofone or more windows. In one embodiment, sub-region may have a boundary alittle larger than a likely region where a driver is located to allowfor movements or error in defining the boundary.

In one embodiment, the boundary component 504 is configured to identifya sub-portion of an image that contains a turn signal indicator of avehicle. For example, the sub-portion of the image may include a turnsignal indicator light positioned on a front, rear, or any otherlocation of a vehicle. In one embodiment, the sub-portion may include aregion on or near a bumper, and/or a region near a headlight or taillight of the vehicle. In one embodiment, the boundary component 504 mayidentify the sub-portion of the image that contains the turn signalusing object recognition or edge detection image processing algorithms.For example, the boundary component 504 may identify an edge or boundaryof an indicator light, headlight, tail light, or the like. In oneembodiment, the boundary component 504 may determine a regionsurrounding the turn signal indicator or a region larger than the turnsignal indicator so that states of the turn signal indicator may beaccurately determined even if the boundary is not perfectly aligned orcentered on the turn-signal indicator.

The body language component 506 is configured to detect a driver's bodylanguage. The body language component 506 may detect a driver's bodylanguage by identifying one or more of a driver's head orientation, agaze direction, and a gesture. The head orientation may be anorientation of a person's head. For example, the head orientation maydescribe a direction that a driver's face is located. The headorientation may be described as one or more angles relative to alocation of a parent vehicle of the driver intent component 104. Forexample, the angles may include an angle of the gaze direction withrespect to a line drawn between a center of a vehicle (or other zeroorigin location used by an automated driving/assistance system 102) andthe human driver. The gaze direction may include a direction in which adriver is looking. In some situations, the gaze direction may match ahead orientation, but the gaze direction may also be different if thedriver's eyes are not looking straight ahead. The gaze direction may bedescribed as one or more angular offsets from the head orientation ormay be described as angular directions independent of the headorientation.

Gestures may include any other type of body language including gestures,movements, or positions taking by the hands, arms, shoulders, neck,abdomen, face, head, or other parts of a body of the driver. Examplegestures may include: waving gestures to wave another driver, apedestrian, or cyclist to proceed at an intersection, road crossing, orlane merge; head movements indicating a no or yes; halt or stop handsignals where a hand is held up palm facing another vehicle or personwith the fingers facing up; shrugs with shoulders; head movements fromside to side to check for crossing vehicles; or any other gesture.Further gestures may be identified including gestures detected viamachine learning or analysis of sensor data. In one embodiment, the bodylanguage component 506 may detect one or more of these gestures, orother gestures, performed by a driver of a nearby vehicle.

In one embodiment, the body language component 506 may save processingpower by, at least initially, only attempting to detect body languagewithin a boundary of an image or other perception data frame determinedby the boundary component 504. For example only pixels, or the like,within the boundary may be processed by body language detectionalgorithms. Because gesture recognition, or recognition of other bodylanguage, can be computationally intensive, this can lead to significanttime, processing, and energy savings for the driver intent component 104or automated driving/assistance system 102.

The turn signal component 508 is configured to determine a state of aturn signal of a proximal vehicle. For example, the turn signalcomponent 508 may determine a state of one or more turn signals of avehicle that is located at an intersection near a parent vehicle. In oneembodiment, the turn signal component 508 may process one or moresub-regions determined by the boundary component 504 to determine thestate of the turn signal indicator. For example, the turn signalcomponent 508 may detect whether a turn signal indicator is emittinglight or blinking based on one or more images of the turn signalindicator. In one embodiment, the turn signal component 508 maydetermine whether one or more of a left turn signal indicator and aright turn indicator are on or blinking. For example, the turn signalindicator 508 may determine whether only the left turn signal indicatoris flashing, only the right turn signal indicator is flashing, both theleft turn signal indicator and the right turn signal indicator areflashing, or neither the left turn signal indicator nor the right turnsignal indicator are flashing.

The previous state component 510 is configured to determine one or moreprevious states of a vehicle, such as a proximal vehicle at anintersection. In one embodiment, the previous state component 510 maydetermine previous states that are not determined, or cannot bedetermined, based on perception data. For example, the previous statecomponent 510 may determine the one or more previous states of aproximal vehicle based on wireless communications indicating the one ormore previous states of the proximal vehicle. The wirelesscommunications may include V2V or V2X communications. The wirelesscommunications may indicate a previous location of the proximal vehicle,a previous velocity of the proximal vehicle, a duration of time duringwhich the proximal vehicle has been located near the intersection, orany other information about the proximal vehicle's previous movements,locations, or states.

The vehicle movement component 512 is configured to detect one or moremovements of a proximal vehicle. For example, the vehicle movementcomponent 512 may detect the movements of the proximal vehicle based onperception data or other sensor data received by the perception datacomponent 502. In one embodiment, the vehicle movement component 512 maydetermine one or more accelerations, decelerations, turns, or the likeof a proximal vehicle. In one embodiment, the vehicle movement component512 may detect specific movements of a proximal vehicle, such as anacceleration followed quickly by a deceleration. For example, anacceleration followed quickly by a deceleration may indicate that ahuman driver is about to move or that the human driver is hesitating toproceed through an intersection. In one embodiment, correlations betweenmovements and future actions by a human-driven vehicle may be determinedby the prediction component 516.

The body language component 506, turn signal component 508, and/or thevehicle movement component 512 may include models, neural networks,machine learned parameters, or the like to detect body language, turnsignal states, and vehicle movements. For example, guided or unguidedmachine learning algorithms may process perception data from real-worldor virtual environments to learn shapes, movements, or other imagecontent that corresponds to body language, turn signal states, orvehicle movement. The results of these machine learning algorithms maybe included in models or databases for use by respective components todetect the body language, turn signal states, or vehicle movement duringdriving of a vehicle.

The intersection component 514 is configured to determine that a parentvehicle is located near an intersection. For example, the intersectioncomponent 514 may process sensor data to locate cross roads, signs, roadmarkers or painted lines, stopped vehicles, or other aspects that maycorrelate with an intersection. In one embodiment, the intersectioncomponent 514 may reference a map and GPS location to determine that theparent vehicle is at or is approaching an intersection. Because it maybe difficult for an autonomous vehicle to make driving decisions at anintersection, the intersection component 514 may specifically identifythat the vehicle should operate according to an intersection scenario.For example, specific driving rules may apply to intersections or otherdriving scenarios.

The prediction component 516 may infer a driver's intention or predictfuture motions of a nearby vehicle based on the body language component506, turn signal component 508, previous state component 510, thevehicle movement component 512, and/or the intersection component 514.For example, the prediction component 516 may predict future motion,and/or a timing for the future motion, based on body language of adriver, a state of a turn signal indicator, previous states of avehicle, and/or detected vehicle movements.

In one embodiment, the prediction component 516 determines the driver'sintention or predicts future motions based on body language detected bythe body language component 506. For example, the prediction component516 may determine a timing and a movement that the driver intends toperform. Example movements may include a turn onto a different road,waiting at an intersection, merging with traffic, changing lanes,exiting a roadway, entering a roadway, parking a vehicle, exiting aparking spot, or the like.

In one embodiment, the prediction component 516 references or processesa database or model to determine a predicted movement or intendedmovement of another vehicle. For example, the prediction component 516may include or access a database or model that correlates body languagewith one or more future vehicle movements. In one embodiment, thedatabase or model may correlate one or more of a head orientation, agaze direction, and a gesture with one or more vehicle movements thatare likely to occur following the head orientation, gaze direction,and/or gesture.

In one embodiment, the database or model may correlate future vehiclemovements with one or more of a waving motion of a hand, a hand gesturecomprising a palm facing toward the vehicle with fingers upward, a gazedirection of the driver for a threshold period of time (such as when adriver is staring at another vehicle waiting for that vehicle to go orwhen a driver stares straight ahead to being or continue to driveforward, a series of head movements, and a series of quick changes ingaze direction (e.g., checking cross traffic)). In one embodiment, thedatabase or model may include a correlation between a gaze direction anda future driving direction. For example, the model may indicate acorrelation between a driver looking in a specific direction followed bya vehicle moving in that specific direction. In one embodiment, thedatabase or model correlates looking over a shoulder with future vehiclemovement comprising a lane change or a turn. In one embodiment, thedatabase or model may include one or more machine learned rules orcorrelations. For example, the database or model may includecorrelations and probabilities based on actual sensor data, headorientation, gaze directions, and gestures learned by a machine.

In one embodiment, the database or model also correlates an intention ofa driver or a future driving maneuver based on a current drivingcontext. For example, the same gestures may mean different things basedon whether the nearby vehicle or parent vehicle is stopped at anintersection, approaching an intersection, driving down a road with oneor more nearby vehicles, merging onto a roadway, exiting a roadway,entering a parking lot or parking spot, exiting a parking lot or parkingspot, or the like. Thus, gestures and current driving context may beused to accurately infer an intention of a driver or predict a futuredriving maneuver. The prediction component 516 may provide the predicteddriving maneuvers or driver intent to the driving maneuver component 518or the automated driving/assistance system 102 for decision making formaneuvers or actions to be taken by the automated driving/assistancesystem 102 or a parent vehicle.

In one embodiment, the prediction component 516 determines the driver'sintention or predicts future motions of the vehicle based on a state ofa turn signal indicator as determined by the turn signal component 508.For example, the prediction component 516 may predict a timing anddirection of travel for the vehicle to move through the intersection. Inone embodiment, the prediction component 516 references or processes thedatabase or model to determine the predicted movement or intendedmovement of another vehicle. For example, the prediction component 516may include or access a database or model that correlates turn signalstatuses with one or more future vehicle movements. In one embodiment,the database or model may correlate a blinker direction with the vehicleturning in that direction through the intersection. In one embodiment,the database or model may correlate a flashing of hazard lights (e.g.,both turn signal indicators blinking) with a vehicle moving quicklythrough the intersection in an unpredictable direction without waitingaccording to normal protocols. Thus, an earlier timing for the vehiclewith flashing hazard lights to move through the intersection may bepredicted.

In one embodiment, the prediction component 516 determines the driver'sintention or predicts future motions of the vehicle based on one or moreprevious states of the proximal vehicle as determined by the previousstate component 510. For example, the prediction component 516 maypredict a timing and direction of travel for the vehicle to move throughthe intersection. In one embodiment, the prediction component 516references or processes the database or model to determine the predictedmovement or intended movement of another vehicle. For example, theprediction component 516 may include or access a database or model thatcorrelates previous states of a vehicle with one or more future vehiclemovements. In one embodiment, the database or model may correlate alonger waiting time of a vehicle at the intersection with a faster intime movement through the intersection. In one embodiment, a vehiclethat has been located near the intersection beyond a threshold amount oftime may be determined to be parked or not functioning correctly. Thus,the prediction component 516 may determine that the vehicle that hasbeen waiting longer than the threshold time may wait for yet an evenlonger time before proceeding through the intersection. The predictioncomponent 516 may also predict future movements of the proximal vehiclebased on previous locations, accelerations, decelerations or the like.

In one embodiment, the prediction component 516 determines the driver'sintention or predicts future motions based on detected movements of thevehicle as determined by the vehicle movement component 512. Forexample, the prediction component 516 may predict a timing and directionof travel for the vehicle to move through the intersection. In oneembodiment, the prediction component 516 references or processes thedatabase or model to determine the predicted movement or intendedmovement of another vehicle. For example, the prediction component 516may include or access a database or model that correlates one or moredetected movements with one or more future movements. For example, thedatabase may include an acceleration, velocity, deceleration, or othermovement information with a predicted further movement through anintersection.

In one embodiment, the prediction component 516 may determine a driver'sintention or future movement of a vehicle based on a combination of datafrom the body language component 506, turn signal component 508,previous state component 510, vehicle movement component 512, andintersection component 514. For example, the model or database mayinclude machine learning values or correlations based motion of one ormore vehicles, driver body language, previous vehicle states, and turnsignal information during previous intersection driving scenarios. Thus,the prediction component 516 may predict future movements based on acombination of one or more of body language, turn signal indicatorstatus, previous states, vehicle movements, and location at anintersection.

The driving maneuver component 518 is configured to select a drivingmaneuver for a parent vehicle based on the predicted driver intent orfuture driving maneuver of another vehicle. For example, the drivingmaneuver component 518 may receive one or more predicted drivingmaneuvers for one or more nearby vehicles from the prediction component516. The driving maneuver may determine a driving path to avoidcollision with the other vehicles in case they perform the predicteddriving maneuvers. For example, the driving maneuver component 518 maydetermine whether to decelerate, accelerate, and/or turn a steeringwheel of the parent vehicle. In one embodiment, the driving maneuvercomponent 518 may determine a timing for the driving maneuver. Forexample, the driving maneuver component 518 may determine that a parentvehicle should wait at an intersection for a period of time becauseanother vehicle is likely to proceed through the intersection duringthat time period. As another example, the driving maneuver component 518may determine a timing for the parent vehicle to proceed through theintersection based on the predicted future movement of the proximalvehicle.

Referring now to FIG. 6, a schematic flow chart diagram of a method 600for predicting movement of a vehicle, according to one embodiment, isillustrated. The method 600 may be performed by an automateddriving/assistance system or a driver intent component, such as theautomated driving/assistance system 102 of FIG. 1 or the driver intentcomponent 104 of FIG. 1 or 5.

The method 600 begins and an intersection component 514 determines thata parent vehicle is near an intersection at 602. A boundary component504 identifies a sub-portion of the image that contains a turn signalindicator on the proximal vehicle at 604. A prediction component 516predicts future movement of the proximal vehicle through theintersection based on a state of the turn signal indicator at 606.

Referring now to FIG. 7, a schematic flow chart diagram of a method 700for predicting movement of a vehicle, according to one embodiment, isillustrated. The method 700 may be performed by an automateddriving/assistance system or a driver intent component, such as theautomated driving/assistance system 102 of FIG. 1 or the driver intentcomponent 104 of FIG. 1 or 5.

The method 700 begins and a perception data component 502 receives animage of a proximal vehicle near an intersection at 702. For example,the proximal vehicle may be near a parent vehicle of a driver intentcomponent 104. A boundary component 504 identifies a sub-portion of theimage containing a turn signal indicator on the proximal vehicle at 704.The boundary component 504 identifies a sub-portion of the imagecontaining a driver of the proximal vehicle at 706. A predictioncomponent 516 predicts future movement of the proximal vehicle throughthe intersection based on a state of the turn signal indicator and bodylanguage of the driver at 708. A driving maneuver component 518determines a time for the parent vehicle to proceed through theintersection based on the predicted future movement of the proximalvehicle at 710.

EXAMPLES

The following examples pertain to further embodiments.

Example 1 is a system that includes an intersection component, a camerasystem, a boundary component, and a prediction component. Theintersection component is configured to determine that a parent vehicleis near an intersection. The camera system is configured to capture animage of a proximal vehicle. The boundary component is configured toidentify a sub-portion of the image containing a turn signal indicatoron the proximal vehicle. The prediction component is configured topredict future movement of the proximal vehicle through the intersectionbased on a state of the turn signal indicator.

In Example 2, the system of Example 1 further includes a turn signalcomponent configured to process image data in the sub-portion of theimage to determine the state of the turn signal indicator.

In Example 3, the system of any of Examples 1-2 further includes aprevious state component configured to determine one or more previousstates of the proximal vehicle based on wireless communicationsindicating the one or more previous states of the proximal vehicle. Theprediction component is configured to predict future movements of thevehicle based on the one or more previous states of the proximalvehicle.

In Example 4, the wireless communication in Example 3 includes one ormore of a V2V communication and a V2X communication.

In Example 5, the one or more previous states in any of Examples 3-4indicate a duration of time during which the proximal vehicle has beenlocated near the intersection.

In Example 6, the system of any of Examples 1-5 further include avehicle movement component configured to determine one or more vehiclemovements of the proximal vehicle. The prediction component isconfigured to predict future movements of the proximal vehicle based onthe one or more vehicle movements of the proximal vehicle.

In Example 7, the boundary component in any of Examples 1-6 is furtherconfigured to identify a sub-portion of the image corresponding to alocation of a driver. The system further includes a body languagecomponent configured to detect a driver's body language by identifyingone or more of a driver's head orientation, a gaze direction, and agesture. The prediction component is configured to predict futuremovements of the vehicle based on the driver's body language.

Example 8 is a computer implemented method. The method includesreceiving an image of a proximal vehicle near an intersection andstoring the image in computer memory. The method includes identifying,using one or more processors, a sub-portion of the image containing aturn signal indicator on the proximal vehicle and identifying, using theone or more processors, a sub-portion of the image containing a driverof the proximal vehicle. The method includes predicting, using the oneor more processors, future movement of the proximal vehicle through theintersection based on a state of the turn signal indicator and bodylanguage of the driver. The method includes determining, using the oneor more processors, a timing for the parent vehicle to proceed throughthe intersection based on the predicted future movement of the proximalvehicle. The method includes causing the parent vehicle to perform adriving maneuver based on the determined time to proceed through theintersection.

In Example 9, the method of Example 8 further includes determining thata parent vehicle is near an intersection.

In Example 10, the method of any of Examples 8-9 further includesprocessing image data in the sub-portion of the image containing a turnsignal indicator to determine the state of the turn signal indicator andprocessing image data in the sub-portion of the image containing adriver of the proximal vehicle to determine the body language of thedriver.

In Example 11, determining the body language of the driver in Example 10includes identifying one or more of a driver's head orientation, a gazedirection, and a gesture.

In Example 12, the method of any of Examples 8-11 further includesdetermining one or more previous states of the proximal vehicle based ona wireless communication. Predicting future movements of the proximalvehicle includes predicting based on the one or more previous states ofthe proximal vehicle.

In Example 13, the wireless communication of Example 12 includes one ormore of a V2V communication and a V2X communication.

In Example 14, the method of any of Examples 8-13 further includesdetecting one or more vehicle movements of the proximal vehicle.Predicting future movements of the proximal vehicle includes predictingbased on the one or more vehicle movements of the proximal vehicle.

In Example 15, the method of any of Examples 8-14 further includesaccessing or processing a model or database correlating the state of theturn signal indicator and the body language of the driver with thepredicted future movement.

In Example 16, the model or database of Example 15 includes machinelearning values or correlations based on motion of one or more vehicles,driver body language, and turn signal information during previousintersection driving scenarios.

Example 17 is a computer readable storage media storing instructionsthat, when executed by one or more processors, cause the processors todetermine that a parent vehicle is near an intersection. Theinstructions cause the processor to capture a plurality of images of aproximal vehicle. The instructions cause the processor to identify asub-portion in each of the plurality of the images containing a turnsignal indicator on the proximal vehicle. The instructions further causethe processor to predict future movement of the proximal vehicle throughthe intersection based on a state of the turn signal indicator.

In Example 18, the instructions of Example 17 further cause theprocessor to process image data in the sub-portion of the plurality ofimages to determine the state of the turn signal indicator.

In Example 19, the instructions of any of Examples 17-18 further causethe processor to: determine one or more previous states of the proximalvehicle based on wireless communications indicating the one or moreprevious states of the proximal vehicle; and predict future movements ofthe vehicle based on the one or more previous states of the proximalvehicle.

In Example 20, the instructions of any of Examples 17-19 further causethe processor to: identify a sub-portion of the image corresponding to alocation of a driver; detect a driver's body language by identifying oneor more of a driver's head orientation, a gaze direction, and a gesture;and predict future movements of the vehicle based on the driver's bodylanguage.

It should be noted that the sensor embodiments discussed above maycomprise computer hardware, software, firmware, or any combinationthereof to perform at least a portion of their functions. For example, asensor may include computer code configured to be executed in one ormore processors, and may include hardware logic/electrical circuitrycontrolled by the computer code. These example devices are providedherein purposes of illustration, and are not intended to be limiting.Embodiments of the present disclosure may be implemented in furthertypes of devices, as would be known to persons skilled in the relevantart(s).

Embodiments of the disclosure have been directed to computer programproducts comprising such logic (e.g., in the form of software) stored onany computer useable medium. Such software, when executed in one or moredata processing devices, causes a device to operate as described herein.

While various embodiments of the present disclosure have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the disclosure.Thus, the breadth and scope of the present disclosure should not belimited by any of the above-described exemplary embodiments, but shouldbe defined only in accordance with the following claims and theirequivalents. The foregoing description has been presented for thepurposes of illustration and description. It is not intended to beexhaustive or to limit the disclosure to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. Further, it should be noted that any or all of theaforementioned alternate implementations may be used in any combinationdesired to form additional hybrid implementations of the disclosure.

Further, although specific implementations of the disclosure have beendescribed and illustrated, the disclosure is not to be limited to thespecific forms or arrangements of parts so described and illustrated.The scope of the disclosure is to be defined by the claims appendedhereto, any future claims submitted here and in different applications,and their equivalents.

1-20. (canceled)
 21. A system comprising: an intersection componentconfigured to determine that a parent vehicle is near an intersection; acamera system configured to capture an image of a proximal vehicle; aboundary component configured to identify a sub-portion of the imagecontaining a turn signal indicator on the proximal vehicle; a turnsignal component configured to process image data in the sub-portion ofthe image to determine the state of the turn signal indicator; and aprediction component configured to predict future movement of theproximal vehicle through the intersection based on a state of the turnsignal indicator.
 22. The system of claim 21, further comprising aprevious state component configured to determine one or more previousstates of the proximal vehicle based on wireless communicationsindicating the one or more previous states of the proximal vehicle,wherein the prediction component is configured to predict futuremovements of the proximal vehicle based on the one or more previousstates of the proximal vehicle.
 23. The system of claim 22, wherein thewireless communication comprises one or more of a vehicle-to-vehicle(V2V) communication and a vehicle-to-infrastructure (V2X) communication.24. The system of claim 22, wherein the one or more previous statesindicate a duration of time during which the proximal vehicle has beenlocated near the intersection.
 25. The system of claim 21, furthercomprising a vehicle movement component configured to determine one ormore vehicle movements of the proximal vehicle, wherein the predictioncomponent is configured to predict future movements of the proximalvehicle based on the one or more vehicle movements of the proximalvehicle.
 26. The system of claim 21, wherein the boundary component isfurther configured to identify a sub-portion of the image correspondingto a location of a driver, the system further comprising a body languagecomponent configured to detect a driver's body language by identifyingone or more of a driver's head orientation, and a gaze direction,wherein the prediction component is configured to predict futuremovements of the proximal vehicle based on the driver's body language.27. A computer implemented method comprising: receiving an image of aproximal vehicle near an intersection and storing the image in computermemory; identifying, using one or more processors, a sub-portion of theimage containing a turn signal indicator on the proximal vehicle;identifying, using the one or more processors, a sub-portion of theimage containing a driver of the proximal vehicle; processing, using theone or more processors, image data in the sub-portion of the imagecontaining a turn signal indicator to determine the state of the turnsignal indicator; processing, using the one or more processors, imagedata in the sub-portion of the image containing a driver of the proximalvehicle to determine the body language of the driver; predicting, usingthe one or more processors, future movement of the proximal vehiclethrough the intersection based on the state of the turn signal indicatorand the body language of the driver; determining, using the one or moreprocessors, a time for a parent vehicle to proceed through theintersection based on the predicted future movement of the proximalvehicle; and causing, using one or more processors or actuators, theparent vehicle to perform a driving maneuver based on the determinedtime to proceed through the intersection.
 28. The method of claim 27,further comprising determining that the parent vehicle is near anintersection.
 29. The method of claim 28, wherein determining the bodylanguage of the driver comprises identifying one or more of a driver'shead orientation, a gaze direction, and a gesture.
 30. The method ofclaim 27, further comprising determining one or more previous states ofthe proximal vehicle based on a wireless communication, whereinpredicting future movements of the proximal vehicle comprises predictingbased on the one or more previous states of the proximal vehicle. 31.The method of claim 30, wherein the wireless communication comprises oneor more of a vehicle-to-vehicle (V2V) communication and avehicle-to-infrastructure (V2X) communication.
 32. The method of claim27, further comprising detecting one or more vehicle movements of theproximal vehicle, wherein predicting future movements of the proximalvehicle comprises predicting based on the one or more vehicle movementsof the proximal vehicle.
 33. The method of claim 27, further comprisingaccessing or processing a model or database correlating the state of theturn signal indicator and the body language of the driver with thepredicted future movement.
 34. The method of claim 33, wherein the modelor database comprises machine learning values or correlations based onmotion of one or more vehicles, driver body language, and turn signalinformation during previous intersection driving scenarios.
 35. Computerreadable storage media storing instructions that, when executed by oneor more processors, cause the processors to: determine that a parentvehicle is near an intersection; capture a plurality of images of aproximal vehicle; identify a sub-portion in each of the plurality of theimages containing a turn signal indicator on the proximal vehicle;process image data in the sub-portion of the plurality of images todetermine the state of the turn signal indicator; and predict futuremovement of the proximal vehicle through the intersection based on astate of the turn signal indicator.
 36. The computer readable storagemedia of claim 35, wherein the instructions further cause the processorto: determine one or more previous states of the proximal vehicle basedon wireless communications indicating the one or more previous states ofthe proximal vehicle; and predict future movements of the proximalvehicle based on the one or more previous states of the proximalvehicle.
 37. The computer readable storage media of claim 35, whereinthe instructions further cause the processor to: identify a sub-portionof the image corresponding to a location of a driver; detect a driver'sbody language by identifying one or more of a driver's head orientation,a gaze direction, and a gesture; and predict future movements of theproximal vehicle based on the driver's body language.